package br.com.condominio.controller;

import java.sql.SQLException;
import java.util.List;

import br.com.condominio.model.dao.VisitaDAO;
import br.com.condominio.view.vo.VisitaVO;

public class VisitaController {

	private VisitaDAO dao;

	public VisitaController() throws ClassNotFoundException, SQLException {
		this.dao = new VisitaDAO();
	}

	public boolean atualizar(VisitaVO visita) throws SQLException {
		return (this.dao.atualizar(visita));
	}

	public boolean criar(VisitaVO visita) throws SQLException,
			ClassNotFoundException {
		boolean validar = false;
		if (dao.criar(visita)) {
			validar = true;
			// try {
			// HistoricoVisitaController controler = new
			// HistoricoVisitaController();
			// // Criando um historico.
			// validar = controler.criarHistoricoVisita(visita,
			// dao.getUltimaVisita());
			// } catch (ClassNotFoundException e) {
			// e.printStackTrace();
			// }
		}
		return validar;
	}

	public List<VisitaVO> getAllVisitas() throws SQLException,
			ClassNotFoundException {
		return (dao.getAllVisitas());
	}

	public boolean excluir(VisitaVO visita) throws SQLException,
			ClassNotFoundException {
		try {
			HistoricoVisitaController controler = new HistoricoVisitaController();
			visita.setStatusVisita(2);
			// controler.criarHistoricoVisita(visita, visita.getCodVisita());
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		return (dao.excluir(visita));
	}

	public VisitaVO getVisitanteByID(int id) throws SQLException,
			ClassNotFoundException {
		return (dao.getVisitaByID(id));
	}

	public boolean confirmaCancelaVisita(VisitaVO visitaVO) throws SQLException {
		boolean validar = false;
		if (dao.confirmaCancelaVisita(visitaVO)) {
			validar = true;
			// try {
			// HistoricoVisitaController controler = new
			// HistoricoVisitaController();
			// // Criando um historico.
			// validar = controler.criarHistoricoVisita(visitaVO,
			// dao.getUltimaVisita());
			// } catch (ClassNotFoundException e) {
			// e.printStackTrace();
			// }
		}
		return validar;
	}
}
